home *** CD-ROM | disk | FTP | other *** search
GW-BASIC | 1997-01-29 | 3.0 KB | 110 lines |
- 10 'RESICOP - Resistor, Copper Wire - 19 JUL 95 rev. 28 SEP 96
- 20 IF EX$=""THEN EX$="EXIT"
- 30 CLS:KEY OFF
- 40 COLOR 7,0,1
- 50 PI=3.14159
- 60 UL$=STRING$(80,205) 'underline
- 70 ER$=STRING$(80,32) 'erase
- 80 U$="####.###"
- 90 DIM A(50) 'AWG sizes (American Wire Gauge)
- 100 '
- 110 '.....AWG wire sizes
- 120 K#= (0.46/0.005)^(1/39) 'incremental multiplier
- 130 FOR Z=1 TO 50
- 140 N=Z+3
- 150 WIRE=0.46/K#^N 'wire diameter in inches
- 160 A(Z)=WIRE 'wire diameter in inches
- 170 NEXT Z
- 180 '
- 190 '.....start
- 200 CLS
- 210 COLOR 15,2
- 220 PRINT" RESISTOR - COPPER WIRE WOUND";TAB(57);"by George Murphy VE3ERP ";
- 230 COLOR 1,0:PRINT STRING$(80,223);
- 240 COLOR 7,0
- 250 PRINT " Press number in < > to choose standard units of measure:"
- 260 PRINT UL$;
- 270 PRINT " < 1 > Metric"
- 280 PRINT " < 2 > U.S.A./Imperial"
- 290 PRINT UL$;
- 300 PRINT " or press <0> to EXIT....."
- 310 Z$=INKEY$
- 320 IF Z$="0"THEN CLS:RUN EX$
- 330 IF Z$="1"THEN UM=25.4:UM$="mm.":GOTO 360
- 340 IF Z$="2"THEN UM=1:UM$="in.":GOTO 360
- 350 GOTO 310
- 360 VIEW PRINT 3 TO 24:CLS:VIEW PRINT:LOCATE 3
- 370 GOTO 450
- 380 '
- 390 '.....display input
- 400 LOCATE CSRLIN-1:PRINT STRING$(7,32)
- 410 LOCATE CSRLIN-1,39:PRINT STRING$(40,32)
- 420 LOCATE CSRLIN-1,39:PRINT ".......";USING U$;Q;
- 430 RETURN
- 440 '
- 450 '.....input data
- 460 INPUT " ENTER: Desired Resistance.............(ohms)";R
- 470 Q=R:GOSUB 390:PRINT " ohms"
- 480 INPUT " ENTER: Maximum Current................(amps)";B
- 490 Q=B:GOSUB 390:PRINT " Amp."
- 500 PRINT " Maximum Watts........................";USING U$;B^2*R
- 510 C=B*250
- 520 FOR Z=50 TO 1 STEP-1
- 530 CM=(A(Z)*10^3)^2
- 540 IF CM>C THEN W=Z:MIN=A(Z):GOTO 560
- 550 NEXT Z
- 560 PRINT TAB(9);"Minimum wire diameter................";USING U$;MIN*UM;
- 570 PRINT " ";UM$;" (#";W;"AWG)"
- 580 LN=CSRLIN
- 590 IF UM=25.4 THEN 740
- 600 '
- 610 PRINT " Press number in < > to indicate how you wish to select wire size:"
- 620 PRINT UL$;
- 630 PRINT " < 1 > by DIAMETER"
- 640 PRINT " < 2 > by AWG #"
- 650 Z$=INKEY$
- 660 IF Z$="1"OR Z$="2"THEN VIEW PRINT LN TO 24:CLS:VIEW PRINT:LOCATE LN:GOTO 680
- 670 GOTO 650
- 680 IF Z$="1"THEN 740
- 690 PRINT " ENTER: AWG wire gauge #";:INPUT Z:DIA=A(Z)
- 700 LOCATE CSRLIN-1:PRINT ER$;:LOCATE CSRLIN-1
- 710 PRINT " Selected Wire Gauge..............AWG#";Z
- 720 GOTO 770
- 730 '
- 740 PRINT " ENTER: Wire diameter (";UM$;")";:INPUT DIA:DIA=DIA/UM
- 750 LOCATE CSRLIN-1:PRINT ER$;:LOCATE CSRLIN-1
- 760 '
- 770 OF=10371/(DIA*10^3)^2 'ohms per 1000 ft.
- 780 '
- 790 L#=R/OF*10^3*12 'length in inches
- 800 PRINT " Selected Wire Diameter...............";USING U$;DIA*UM;
- 810 PRINT " ";UM$
- 820 IF DIA >=INT(MIN*10^3)/10^3 THEN 860
- 830 BEEP:COLOR 0,7:PRINT " WARNING! ";
- 840 PRINT "Selected wire size is too small for specified maximum current "
- 850 COLOR 7,0
- 860 UUM=0.3048:UUM$=" -/Km"
- 870 IF UM=1 THEN UUM=1:UUM$=" -/M ft."
- 880 PRINT " Unit resistance......................";USING U$;OF/UUM;
- 890 PRINT UUM$
- 900 IF UM=25.4 THEN UM=2.54:UM$="cm."
- 910 PRINT " Length of wire.......................";USING U$;L#*UM;
- 920 PRINT " ";UM$
- 930 GOSUB 970
- 940 GOTO 190
- 950 END
- 960 '
- 970 'HARDCOPY
- 980 GOSUB 1090:LOCATE 25,2:COLOR 14,6
- 990 PRINT " Press 1 to print screen, 2 to print screen & ";
- 1000 PRINT "advance paper, or 3 to continue.";:COLOR 7,0
- 1010 Z$=INKEY$:IF Z$="3"THEN GOSUB 1090:RETURN
- 1020 IF Z$="1"OR Z$="2"THEN GOSUB 1090:GOTO 1040
- 1030 GOTO 1010
- 1040 FOR QX=1 TO 24:FOR QY=1 TO 80
- 1050 LPRINT CHR$(SCREEN(QX,QY));
- 1060 NEXT QY:NEXT QX
- 1070 IF Z$="2"THEN LPRINT CHR$(12)
- 1080 GOTO 980
- 1090 LOCATE 25,1:PRINT STRING$(80,32);:RETURN
-